<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
            堆和栈 内存----变量里面存的什么

            基础类型直接存入栈中
            复杂类型--数据存入堆，堆的值存入 栈中

            总结；基础类型的变量，存的值，  复杂类型的变量 存的 地址

            栈
                a  = 1
                b  = 1
                obj = 001
                obj2 = 001

            堆
             001   {name:'zhangsan'}
        */
        var a = 1;
        var obj = { name: 'zhangsan' }


        // 值传递，变量a值 给了变量b--两个变量没有关系
        var b = a;
        //地址传递 -变量的obj的值（地址）赋值 obj2 ---两个变量其实同一个 变量（内存地址是一个）
        var obj2 = obj;
        obj.age = 19;
        // 修改了一个，另个也会改变
        console.log(obj2);

    </script>

</body>

</html>